from django.contrib import admin


from .models import *

#文章
class ArticleAdmin(admin.ModelAdmin):

	#编辑时除去不可编辑的字段
	exclude = ('counter',)
	#编辑时给多选字段增加一个左右添加的框
	filter_horizontal = ('tags', 'keywords')

	#在查看修改时：给出一个筛选机制，一般按照时间比较好
	date_hierarchy = 'created_time'
	# 在查看修改时：显示的属性，默认第一个字段带有<a>标签
	list_display = ('id', 'title', 'author', 'created_time', 'updated_time')
	# 在查看修改时：设置需要添加<a>标签的字段
	list_display_links = ('title',)
	# 在查看修改时：激活过滤器
	list_filter = ('created_time', 'category')
	# 在查看修改时：激活搜索框
	#search_fields = ('tags', 'category')
	# 在查看修改时：制每页显示的对象数量，默认是100
	list_per_page = 50

	# 限制用户权限，只能看到自己编辑的文章
	def get_queryset(self, request):
		qs = super(ArticleAdmin, self).get_queryset(request)
		if request.user.is_superuser:
			return qs
		return qs.filter(author=request.user)
#写在ArticleAdmin类后面等同于在前面加@
admin.site.register(Article,ArticleAdmin)

"""
class ArticleAdmin(admin.ModelAdmin):
    list_display = ['title','author','counter','category','created_time','updated_time']
    fields = ['title','author','body','tags','category',]   # fields 中定义的字段就是表单中展现的字段。

    def save_model(self, request, obj, form, change):       # 将此 Modeladmin 关联注册的 model 实例（这里 Modeladmin 关联注册的是 Article）保存到数据库。
        obj.author = request.user
        super().save_model(request, obj, form, change)

admin.site.register(Article,ArticleAdmin)
"""

admin.site.register(Tag)
admin.site.register(Category)


# 文章关键词
@admin.register(Keyword)
class KeywordAdmin(admin.ModelAdmin):
	list_display = ('name', 'id')


#一级导航
@admin.register(BigCategory)
class BigCategoryAdmin(admin.ModelAdmin):
	list_display = ('name', 'id', 'slug')